﻿using KayakMes.Common.Dtos.BasicSettingDTO.Input;
using KayakMes.Common.Result;
using KayakMes.Units.Domain.Entity;

namespace KayakMes.Units.Application
{
    /// <summary>
    /// 基础设置服务接口层
    /// </summary>
    public interface IBasicSettingService
    {
        #region 计量单位相关操作
        /// <summary>
        /// 添加计量单位
        /// </summary>
        /// <param name="units">计量单位模型</param>
        /// <returns>返回操作结果，包含新增计量单位ID</returns>
        ApiResult<int> AddUnits(UnitsModel units);
        /// <summary>
        /// 获取所有计量单位(支持分页查询)
        /// </summary>
        /// <param name="dto">计量单位查询条件DTO</param>
        /// <returns>返回分页采购订单列表</returns>
        ApiPaging<UnitsModel> GetAllUnits(UnitsDto dto);
        /// <summary>
        /// 根据指定Id获取计量单位
        /// </summary>
        /// <param name="Id">计量单位ID</param>
        /// <returns>返回操作结果，包含指定的计量单位信息</returns>
        ApiResult<UnitsModel> GetUnits(long Id);
        /// <summary>
        /// 更新计量单位
        /// </summary>
        /// <param name="units">计量单位模型</param>
        /// <returns>返回操作结果，包含受影响的行数</returns>
        ApiResult<int> UpdateUnits(UnitsModel units);
        #endregion
        #region 通用逻辑删除操作
        /// <summary>
        /// 通用逻辑删除操作
        /// </summary>
        /// <param name="Id">计量单位ID</param>
        /// <returns>返回操作结果，包含删除操作后的影响行数</returns>
        ApiResult<int> LoginDel(long Id);
        #endregion
    }
}
